-- 简单的装备修复方案
-- 在modmain.lua中添加这段代码来确保装备功能正常

-- 修复右键装备问题
AddPrefabPostInit("pono", function(inst)
    -- 确保在客户端和服务器端都有正确的装备功能
    if inst.components.playeractionpicker then
        -- 保存原始函数
        local old_GetRightClickActions = inst.components.playeractionpicker.GetRightClickActions
        
        -- 重新包装右键动作函数
        inst.components.playeractionpicker.GetRightClickActions = function(self, pos, target, spellbook)
            -- 获取原始动作
            local actions = old_GetRightClickActions(self, pos, target, spellbook) or {}
            
            -- 如果目标是可装备的物品且在物品栏中
            if target and target.components.equippable and target.components.inventoryitem then
                local owner = target.components.inventoryitem.owner
                if owner == inst then  -- 物品在我的物品栏中
                    -- 检查是否已经有装备动作
                    local has_equip_action = false
                    for _, action in ipairs(actions) do
                        if action.action == ACTIONS.EQUIP then
                            has_equip_action = true
                            break
                        end
                    end
                    
                    -- 如果没有装备动作且可以装备，添加它
                    if not has_equip_action and target.components.equippable:CanEquip(inst) then
                        table.insert(actions, BufferedAction(inst, target, ACTIONS.EQUIP))
                    end
                end
            end
            
            return actions
        end
    end
end)

-- 如果你想要更彻底的修复，可以添加这个全局修复
-- 注意：这个修复对所有角色生效，不仅仅是pono
local function GlobalEquipFix()
    if not GLOBAL.ACTIONS or not GLOBAL.ACTIONS.EQUIP then
        print("警告：EQUIP动作不存在")
        return
    end
    
    -- 确保装备动作的右键触发器存在
    if GLOBAL.ACTIONS.EQUIP.rmb then
        print("EQUIP动作已有右键支持")
    else
        -- 强制添加右键支持
        GLOBAL.ACTIONS.EQUIP.rmb = true
        print("已为EQUIP动作添加右键支持")
    end
end

-- 运行全局修复
GlobalEquipFix()